home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 October / EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso / Aminet / comm / misc / avmNfax1_33.lha / AVMSuite / rexx / efaxview.avm < prev    next >
Text File  |  1994-06-24  |  1KB  |  46 lines

  1. /* efax viewer */
  2. parse arg filename .
  3.  
  4. base = filename || '.'
  5.  
  6. do i = 1 to 999
  7.   if ~exists(base || right(i, 3, '0')) then break
  8. end
  9.  
  10. lastPage = i - 1
  11. currentPage = 1
  12.  
  13. /* extract filename base */
  14. lcolon = lastpos(':', filename)
  15. lslash = lastpos('/', filename)
  16. if lcolon > lslash then last = lcolon
  17. else last = lslash
  18. last = last
  19.  
  20. faxFileName = right(filename, length(filename) - last)
  21.  
  22. do forever
  23.   address command 'avm:gnu/fax2iff' '-o faxtemp:' || faxFileName || '.' || right(currentPage, 3, '0') base || right(currentPage, 3, '0')
  24.   if rc = 0 then do
  25.     address command 'avm:avmfaxview faxtemp:' || faxFileName || '.' || right(currentPage, 3, '0') currentPage lastPage
  26.     retVal = rc
  27.     call delete('faxtemp:' || faxFileName || '.' || right(currentPage, 3, '0'))
  28.     if retVal = 1 then do
  29.       currentPage = currentPage - 1
  30.       if currentPage < 1 then currentPage = 1
  31.     end; else if retVal = 2 then do
  32.       currentPage = currentPage + 1
  33.     end; else if retVal = 0 then do
  34.       signal done
  35.     end; else do
  36.       currentPage = currentPage + 1
  37.     end
  38.   end; else do
  39.     currentPage = currentPage + 1
  40.   end
  41.  
  42.   if currentPage > lastPage then signal done
  43. end
  44.  
  45. done:
  46.